home *** CD-ROM | disk | FTP | other *** search
- //------------------------------------------------
- // BetterContextMenu.cs ⌐ 2001 by Charles Petzold
- //------------------------------------------------
- using System;
- using System.Drawing;
- using System.Windows.Forms;
-
- class BetterContextMenu: Form
- {
- MenuItemColor micColor;
-
- public static void Main()
- {
- Application.Run(new BetterContextMenu());
- }
- public BetterContextMenu()
- {
- Text = "Mejor demo de men· contextual";
-
- EventHandler eh = new EventHandler(MenuColorOnClick);
-
- MenuItemColor[] amic =
- {
- new MenuItemColor(Color.Black, "&Negro", eh),
- new MenuItemColor(Color.Blue, "A&zul", eh),
- new MenuItemColor(Color.Green, "&Verde", eh),
- new MenuItemColor(Color.Cyan, "&Celeste", eh),
- new MenuItemColor(Color.Red, "&Rojo", eh),
- new MenuItemColor(Color.Magenta, "&Magenta", eh),
- new MenuItemColor(Color.Yellow, "&Amarillo", eh),
- new MenuItemColor(Color.White, "&Blanco", eh)
- };
-
- foreach (MenuItemColor mic in amic)
- mic.RadioCheck = true;
-
- micColor = amic[3];
- micColor.Checked = true;
- BackColor = micColor.Color;
-
- ContextMenu = new ContextMenu(amic);
- }
- void MenuColorOnClick(object obj, EventArgs ea)
- {
- micColor.Checked = false;
- micColor = (MenuItemColor) obj;
- micColor.Checked = true;
-
- BackColor = micColor.Color;
- }
- }
- class MenuItemColor: MenuItem
- {
- Color clr;
-
- public MenuItemColor(Color clr, string str, EventHandler eh):
- base(str, eh)
- {
- Color = clr;
- }
- public Color Color
- {
- get { return clr; }
- set { clr = value; }
- }
- }